home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / e / filedmds.lha / Amiga-E / Identify.e < prev    next >
Text File  |  1995-09-17  |  1KB  |  59 lines

  1. /* Simple example on how to use FileID.library in Amiga E */
  2. /* Usage:  Identify filename */
  3.  
  4.  
  5. MODULE  'dos/dos', 'fileid', 'libraries/fileid'
  6.  
  7.  
  8. DEF myargs:PTR TO LONG, rdargs
  9. DEF fib:PTR TO fileinfo
  10.  
  11.  
  12. PROC main()
  13. DEF filename[200]:STRING
  14.  
  15. /* Get the supplied filename */
  16.  
  17.    myargs:=[0]
  18.  
  19.    IF rdargs:=ReadArgs('File/A',myargs,NIL)
  20.       StrCopy(filename,myargs[0],ALL)
  21.    ELSE
  22.       WriteF('Usage: Identify FILENAME.\n')
  23.       FreeArgs(rdargs)
  24.       CleanUp(10)
  25.    ENDIF
  26.    FreeArgs(rdargs)
  27.  
  28.  
  29. /* Open FileID.library V2 or higher */
  30.  
  31.    IF (fileidbase := OpenLibrary('FileID.library',2)) <> NIL
  32.  
  33. /* Allocate the FileInfo structure */
  34.  
  35.       IF (fib := FiAllocFileInfo()) <> NIL
  36.  
  37. /* Identify the supplied filename */
  38.  
  39.          IF FiIdentifyFromName(fib,filename) = NIL
  40.             WriteF('\e[1mFilename:\e[22m \s\n',filename)
  41.             WriteF('\e[1mFileType:\e[22m #\d \e[1m-\e[22m \s\n',fib.id,fib.description)
  42.          ELSE
  43.             WriteF('Error while examining file!\n')
  44.          ENDIF
  45.  
  46. /* Free the FileInfo structure */
  47.          FiFreeFileInfo(fib)
  48.  
  49.       ELSE
  50.          WriteF('Couln''t allocate Info structure!\n')
  51.       ENDIF
  52.  
  53. /* Close the library */
  54.  
  55.       CloseLibrary(fileidbase)
  56.    ENDIF
  57. ENDPROC
  58.  
  59.